* {
  box-sizing: border-box;
}

h4 {
  font-size: 28px;
}

td, th {
  padding: 5px 25px;
}

.flex {
  display: flex;
}

nav {
  float: none;
  border-left: none;
  width: 300px;
}

.nav-position {
  position: fixed;
  top: 0;
  overflow: auto;
  padding: 40px 0;
  width: 250px;
  max-height: 100vh;
}

#main {
  float: none;
}

.prettyprint {
  margin-bottom: 100px;
}

.details {
  margin-bottom: 5px;
}

.details + .name,
.details + .subsection-title {
  margin-top: 100px;
}

footer {
  text-align: center;
}